#ifndef __RACING_CAMERA_H__
#define __RACING_CAMERA_H__

#include <Physics/Vehicle/Camera/hkp1dAngularFollowCam.h>

class hkpRigidBody;

typedef hkp1dAngularFollowCam::CameraInput	RacingCameraInput;
typedef hkp1dAngularFollowCam::CameraOutput	RacingCameraOutput;


class RacingCamera : public hkp1dAngularFollowCam
{
public:
	struct Parms
	{
		const hkpRigidBody* PointerRigidBody;
		float TimeStep;
	};

public:
	RacingCamera(void);
	RacingCamera (const hkp1dAngularFollowCamCinfo &cameraInfo);
	virtual ~RacingCamera(void);

public:
	void create_havok_camera(void);
	void update_havok_camera(const Parms& parms, hkp1dAngularFollowCam::CameraOutput& out);

	
private:
	void check_havok_camera_valid(const Parms& parms);


private :
	bool m_isHavokCameraCreated;

};






#endif